//加载配置数据
var form_json = JSON.parse(readConfigString("form_json"));
let _functionRun = require("slib/halo/functionRun.js");
//程序主体
function main() {
    //程序主体程序权限验证.
    init();
    //程序收费功能验证.
    //Verification_of_Program_Charging_Function();
    //程序数据处理.
    //respData();
    //程序业务逻辑
    //run_main();
    testhalo();
    //testdidi();
}



function testhalo() {

    while (true){
        logd("新一轮的刷新");
        _functionRun.app.刷新();
        clickPoint(1003,1853)
        sleep(3000)
        if(form_json.dache === true){
            //_functionRun.app.打车();
        }
        if(form_json.duxiang === true) {
           // _functionRun.app.独享();
        }
    }
    //_functionRun.app.确认同行();

    //_functionRun.app.确定();
}

/**
 * @description 程序执行数据处理
 * */
function respData() {

    toast("完成统计数据");
    sleep(1000);
}
/*
/!**
 * @description 程序主体业务逻辑
 * *!/
function run_main() {
    let off = true;
    !logsText ? "" : logd(JSON.stringify(form_json));
    let oneday = timeFormat("yyyy-MM-dd")
    while (off) {
        //判断点赞功能是否开启,如果开了,那就执行点赞动作.
        if (form_json.like) {
            //执行点赞动作.
            _likes.app.main();
        }
        if (form_json.collect) {
            //执行收藏动作.
            _collect.app.main();
        }
        if(form_json.comment){
            //执行评论动作
            _follow.app.main();
        }
        //评论点赞
        if (form_json.commentLive) {
            _liveInfo.app.main();
        }

        //处理日期等待.
        let day = timeFormat("yyyy-MM-dd")
        if(oneday.localeCompare(day)=== 0){
            logd("满足条件");
            let tempOff = true;
            while (tempOff){
                day = timeFormat("yyyy-MM-dd")
                if(oneday.localeCompare(day)!== 0){
                    tempOff = false;
                    oneday = timeFormat("yyyy-MM-dd");
                }
                sleep(10000);
            }
        }
    }

}*/
/*

function Verification_of_Program_Charging_Function(){
    let d = _service.app.card(form_json.cardNo);
    if (d) {
        let time = parseInt(d);
        if (time > 0) {
            setInterval(function () {
                time = time - 60;
                if (time < 0) {
                    toast("退出脚本");
                    exit();
                }
            }, 60000);
        }
        toast("激活成功");
    }else {
        toast("激活失败退出脚本");
        exit();
    }

}
*/

function init() {
    toast("开始系统权限检测");
    sleep(1000);
    let result = isAccMode();
    if (!result) {
        toast("请激活无障碍模式");
        exit();
        return false;
    } else {
        toast("无障碍模式已启动");
        sleep(1000);
    }

    let p = floaty.requestFloatViewPermission(1000)

    if (!p) {

        toast("没有浮窗权限，终止执行");
        exit();
        return false;
    } else {
        toast("获取到浮窗权限");
        sleep(1000);
    }

    //如果自动化服务正常
    if (!autoServiceStart(3)) {
        logd("自动化服务启动失败，无法执行脚本")
        exit();
        return false;
    }
    //这是什么意思呢,设置节点获取的模式,模式1是严格模式,模式2,是简单模式.简单模式,容易出现数据错误.严格模式不容易出错.
    setFetchNodeMode(2, false, false, "nsf");
    //setFetchNodeMode(2, false, false, "nsf");
    //这是什么意思呢,这是获取节点的最大深度.

    let dataPath  = "/storage/emulated/0/Pictures/tishi.mp3"
    //logd(dataPath);
    if (!file.exists(dataPath) || !dataPath.endsWith("tishi.mp3")) {
        //将文件保存到指定文件夹
        let res = findIECFile("res/", "tishi", ".mp3", true)
        if (res) {
            logd("findIECFile {}", JSON.stringify(res));
            saveResToFile("tishi.mp3", "/storage/emulated/0/Pictures/tishi.mp3");
        } else {
            logd("缺少播放音乐文件,tishi.mp3");
        }
    }
    if (!file.exists(dataPath) || !dataPath.endsWith("tishi.mp3")) {
        loge("文件:" + dataPath + "不存在");
        return "初始化失败!"
    }
    if (!dataPath.endsWith("tishi.mp3")) {
        loge("文件:不是tishi.mp3 !");
        return "初始化失败!"
    }

}

function autoServiceStart(time) {
    for (var i = 0; i < time; i++) {
        if (isServiceOk()) {
            return true;
        }
        var started = startEnv();
        logd("第" + (i + 1) + "次启动服务结果: " + started);
        if (isServiceOk()) {
            return true;
        }
    }
    return isServiceOk();
}

main();
